package Dominio;

import java.util.ArrayList;

public class ReticulaAcademica {
    private int clave_ret_acad;
    private String nombre;    
    private ArrayList<Semestre> listaDeSemestres;
    private ArrayList<AsignaturaOptativa> asignaturasOptativas;

    public ReticulaAcademica(int clave_ret_acad, String nombre, ArrayList<Semestre> listaDeSemestres, ArrayList<AsignaturaOptativa> asignaturasOptativas) {
        this.clave_ret_acad = clave_ret_acad;
        this.nombre = nombre;
        this.listaDeSemestres = listaDeSemestres;
        this.asignaturasOptativas = asignaturasOptativas;
    }

    public ReticulaAcademica(String nombre, ArrayList<Semestre> listaDeSemestres, ArrayList<AsignaturaOptativa> asignaturasOptativas) {
        this.nombre = nombre;
        this.listaDeSemestres = listaDeSemestres;
        this.asignaturasOptativas = asignaturasOptativas;
    }

    public ReticulaAcademica(String nombre, ArrayList<Semestre> listaDeSemestres) {
        this.nombre = nombre;
        this.listaDeSemestres = listaDeSemestres;
    }

    public ReticulaAcademica(String nombre) {
        this.nombre = nombre;
    }

    public int getClave_ret_acad() {
        return clave_ret_acad;
    }

    public void setClave_ret_acad(int clave_ret_acad) {
        this.clave_ret_acad = clave_ret_acad;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public ArrayList<Semestre> getListaDeSemestres() {
        return listaDeSemestres;
    }

    public void setListaDeSemestres(ArrayList<Semestre> listaDeSemestres) {
        this.listaDeSemestres = listaDeSemestres;
    }

    public ArrayList<AsignaturaOptativa> getAsignaturasOptativas() {
        return asignaturasOptativas;
    }

    public void setAsignaturasOptativas(ArrayList<AsignaturaOptativa> asignaturasOptativas) {
        this.asignaturasOptativas = asignaturasOptativas;
    }

    public int getNumeroDeSemestres(){
        return this.listaDeSemestres.size();
    }
    
    @Override
    public String toString(){
        return this.nombre+"\n"+this.listaDeSemestres.toString()+"\nOptativas: \n"+this.asignaturasOptativas.toString();
    }
}
